草庐IT

c++ - 从 C++ 类制作 Visual C++ DLL

全部标签

c++ - MinGW 在 Windows 上制作

我在我的Windows8.1机器上安装了MinGW,我正在使用它来开发可以移植到Unix/Linux系统的C++代码,以代替能够双启动Ubuntu或类似系统。我有一个应该用于构建项目的通用makefile,但由于某种原因,Windows上的find命令无法找到项目的源文件。我收到此错误:Filenotfound-*.cppMakefile:32:***mixedimplicitandnormalrules.Stop.这是我使用的makefile(我改编自this博客,以及博客中的基本项目结构:CC:=g++#Thisisthemaincompiler#CC:=clang--analyz

c++ - 如何确定哪个 Windows DLL 正在用于函数调用?

我一直在研究_vsnprintf并了解到它在ntdll.dll和msvcrt.dll中可用。我可以使用GetModuleHandle和GetProcAddress来访问_vsnprintf,例如:staticint(__cdecl*p__vsnprintf)(char*str,size_tcount,constchar*format,va_listvalist);staticvoidinit(constchar*dll){HMODULEhmod=GetModuleHandleA(dll);if(hmod){printf("***Testing%s***\n",dll);p__vsnpr

windows - mylibrary.dll_unloaded 出现 BEX64 错误

我有一个使用LoadLibrary动态打开DLL(mylibrary.dll)的可执行文件。当应用程序完成时,它崩溃了。浏览错误报告,结果发现它给出了一个事件类型BEX64。其中一个参数是mylibrary.dll_unloaded。剩下的就是一堆地址。有谁知道这意味着什么以及问题的可能来源是什么?我可以访问所有相关代码的源代码。 最佳答案 我前段时间遇到了同样的问题。当我在退出时调用FreeLibrary()时,程序崩溃了。原因是一个正在运行的线程,它是由我的图书馆启动的。在调用FreeLibrary()之前检查库中是否有任何正在

c++ - Qt 在 Windows 中部署应用程序需要的 dll

mingw编译器目录中有一个工具,当以输出的exe文件作为参数调用时,它会将所有需要的dll复制到当前目录。我不记得名字了,我在互联网上找不到它。有谁知道它叫什么? 最佳答案 该工具称为windeployqt。 关于c++-Qt在Windows中部署应用程序需要的dll,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/31687093/

c# - SetWindowsHookEx 将 32 位 DLL 注入(inject) 64 位进程,反之亦然

我一直在开发一个需要监控另一个进程上的线程特定鼠标事件(WH_MOUSE)的应用程序,遇到了一些非常奇怪的事情.在发现thisisnotpossibleviaexclusivelymanagedcode之后如果我不想使用WH_MOUSE_LL并且我需要一个nativeDLL导出以将其自身注入(inject)到目标进程中,我会根据我能找到的零散文档在C++中着手创建它在这个主题上,然后尝试使用它连接到记事本。虽然根据GetLastWin32Error注入(inject)成功,我没有收到鼠标事件的通知。在几乎放弃并选择低级全局Hook选项后,我重新阅读了thisarticle的“备注”部分

windows - 批处理命令如何为 set/p 制作列表

我正在尝试制作一个要求用户输入的批处理脚本。用户输入应限于某些词。如果用户输入任何其他词而不是例如(eng,ger,fra)用户将收到类似“请输入语言”之类的回显。我还想将用户输入存储为一个变量,以便在批处理文件中进一步使用。我目前拥有的是::Get_ISOlanguageset"ISOlanguage="set/pISOlanguage=EntersubtitlelanguageinISO639-2standardabbreviation:ifnotdefinedISOlanguageechoYoumustenteravalue.Tryagain.&gotoGet_ISOlangua

java - 无法使用 JNI4NET 工具生成 C# 代理 dll,将批处理文件作为可信程序集运行?

我正在努力获取toolJNI4NET工作,以便我可以使用我的C#应用程序中的一些Java代码。作为一个简单的初始测试,我创建了一个简单的Java类库,其中包含一个类Person和一个方法publicStringGetName(){return"NoBody";}。从这里开始,我一直按照JNI下载中提供的示例编辑generateProxies.cmd以创建jar的DLL包装器。我在这方面运气不佳,所以我决定尝试执行相同的操作,但使用示例,特别是名为myJavaDemoCalc的示例。在示例文件夹中执行generateProxies.cmd时会抛出错误。(有需要我会转载这张图)我关注了th

c++ - 如何制作一个功能,以便我可以输入我想打开的浏览器?

我的代码有什么问题?我正在尝试制作一个程序,您可以在其中键入要打开的浏览器。VC++在if语句中一直在等号下划线。#include#includeusingnamespacestd;voidOpenBrowser(stringbrowser){ShellExecuteA(NULL,"open",browser.c_str(),NULL,NULL,SW_MAXIMIZE);}intmain(){chara;std::cout>a;if(a="firefox"){OpenBrowser("firefox");}else{OpenBrowser("chrome");}system("paus

python - 如何制作可以用文件打开的程序? (Python)

我正在制作一个打开文件并对它做一些事情的程序,我想知道是否有一种方法可以让你点击一个文件,它会在程序中打开它,而不是进入程序,单击打开,然后在文件中导航以找到它,或者只是一种可以单击“打开方式...”并选择程序的方式。以下是代码,如果有帮助的话:fromtkinterimport*fromtkinterimportfiledialogfromsubprocessimport*importosroot=Tk()root.title("Snakeconverter")defopen_file():filename=filedialog.askopenfilename(filetypes=(

windows - Win32 32位进程加载64位kernel32.dll

我发现32位Win32控制台应用程序正在一台运行WindowsServer2012R2Standard的特定机器上加载64位版本的kernel32.dll。使用DependencyWalker使用一个简单的HelloWorld应用程序,它看起来像这样:它在其他机器上正确加载32位kernel32。PATH的值即使不完全相同,但至少在不同机器上以完全相同的顺序包含相关路径。根据thispage来自Microsoft,DLL的搜索顺序是:当前进程的可执行模块所在的目录。当前目录。Windows系统目录。GetSystemDirectory函数检索此目录的路径。Windows目录。GetWi